package model

import (
	"gorm.io/gorm"
	"time"
)

type Video struct {
	Id             uint           `gorm:"column:id;type:bigint(20) UNSIGNED;primaryKey;not null;" json:"id"`
	Name           string         `gorm:"column:name;type:varchar(50);comment:视频名称;not null;" json:"name"`                                            // 视频名称
	VideoUrl       string         `gorm:"column:video_url;type:varchar(150);comment:视频;not null;" json:"video_url"`                                   // 视频
	Author         string         `gorm:"column:author;type:varchar(20);comment:作者;not null;" json:"author"`                                          // 作者
	AuthorId       uint           `gorm:"column:author_id;type:bigint(20) UNSIGNED;comment:作者id;not null;" json:"author_id"`                          // 作者id
	Cate1          string         `gorm:"column:cate1;type:varchar(30);comment:专业一级范围;not null;" json:"cate1"`                                        // 专业一级范围
	Cate2          string         `gorm:"column:cate2;type:varchar(30);comment:专业二级范围;not null;" json:"cate2"`                                        // 专业二级范围
	ReviewerStatus uint           `gorm:"column:reviewer_status;type:bigint(10);comment:审核状态：1.审核已通过 2.审核中 3.审核未通过;not null;" json:"reviewer_status"` // 审核状态：1.审核已通过 2.审核中 3.审核未通过
	Founder        string         `gorm:"column:founder;type:varchar(10);comment:创建人;not null;" json:"founder"`                                       // 创建人
	FounderId      uint           `gorm:"column:founder_id;type:bigint(20) UNSIGNED;comment:创建人id;not null;" json:"founder_id"`                       // 创建人id
	FounderTime    string         `gorm:"column:founder_time;type:varchar(50);comment:创建时间;not null;" json:"founder_time"`                            // 创建时间
	Reviewer       string         `gorm:"column:reviewer;type:varchar(10);comment:审核人;not null;" json:"reviewer"`                                     // 审核人
	ReviewerId     uint           `gorm:"column:reviewer_id;type:bigint(20) UNSIGNED;comment:审核人id;not null;" json:"reviewer_id"`                     // 审核人id
	Imgs           string         `gorm:"column:imgs;type:varchar(200);comment:图片;not null;" json:"imgs"`                                             // 图片
	Keywords       string         `gorm:"column:keywords;type:varchar(50);comment:关键字;not null;" json:"keywords"`                                     // 关键字
	Range          uint           `gorm:"column:range;type:int(10);comment:范围: 1.内部 2.外部;not null;" json:"range"`                                     // 范围: 1.内部 2.外部
	Enable         uint           `gorm:"column:enable;type:int(10);comment:启用状态: 1.启用 2.禁用;not null;" json:"enable"`                                 // 启用状态: 1.启用 2.禁用
	ContentNum     uint           `gorm:"column:content_num;type:int(200);comment:评论数量;not null;" json:"content_num"`                                 // 评论数量
	CreatedAt      time.Time      `gorm:"column:created_at;type:datetime(3);not null;default:CURRENT_TIMESTAMP(3);" json:"created_at"`
	UpdatedAt      time.Time      `gorm:"column:updated_at;type:datetime(3);not null;default:CURRENT_TIMESTAMP(3);" json:"updated_at"`
	DeletedAt      gorm.DeletedAt `gorm:"column:deleted_at;type:datetime(3);default:NULL;" json:"deleted_at"`
}

func (v *Video) TableName() string {
	return "video"
}
